

class Person{
    /*
    字段/属性/成员变量
    1.定义在类内部 方法的外部
    2.这些成员变量可以不初始化，（局部变量是要初始化的），有默认值。引用类型是null，布尔-》false，其他的事对应的0值
     */
    public String name;
    public int age;
    public String sex;

    /*
    构造方法
     */
    public Person(){
        this("name",20,"female");
        System.out.println("不带参数的构造方法");
    }

    public Person(String name, int age, String sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;
        System.out.println("带有三个参数的构造方法");
    }

    /*
        成员方法
         */
    public void eat() {
        System.out.println(this.name+"正在吃饭");
    }

    public void sleep() {
        System.out.println(this.name+"正在睡觉");
    }

    public void show() {
        System.out.println("姓名:"+this.name+",性别:"+this.sex+",年龄:"+this.age);
    }
}


public class Test {


    public static void main(String[] args) {
        Person person1=new Person();//调用了不带参数的构造方法
        person1.show();
        System.out.println("=======================");

        Person person2=new Person("Wangwu",20,"man");//调用了带有三个参数的构造方法
        person2.show();
    }


    public static void main1(String[] args) {
        //类的实例化
        Person person1=new Person();
        person1.age=20;
        person1.name="张三";
        person1.sex="男";
        person1.show();

        Person person2=new Person();
        person1.age=21;
        person1.name="李四";
        person1.sex="女";
        person1.show();
    }
}
